package com.bx.implatform.growUp.controller;

import com.bx.implatform.growUp.result.GrowUpBaseResult;
import com.bx.implatform.growUp.result.GrowUpBaseResultUtils;
import com.bx.implatform.growUp.service.CollectFeeService;
import com.fasterxml.jackson.databind.JsonNode;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;
import java.util.Map;

/**
 * 收费大屏
 */
@RestController
@RequestMapping("/imApi/collectFee")
@Tag(name = "收费大屏")
@RequiredArgsConstructor
public class CollectFeeController {

    @Resource
    private CollectFeeService collectFeeService;


    @GetMapping("/getTrafficStats")
    @Operation(summary = "收费站流量 变化趋势", description = "收费站流量 变化趋势")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> getTrafficStats() {
        return GrowUpBaseResultUtils.success(collectFeeService.getTrafficStats());
    }

    @GetMapping("/getMoneyStats")
    @Operation(summary = "收费站收入 变化趋势", description = "收费站收入 变化趋势")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> getMoneyStats() {
        return GrowUpBaseResultUtils.success(collectFeeService.getMoneyStats());
    }

    @GetMapping("/1")
    @Operation(summary = "路网数据概览")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method1() {
        return null;
    }

    @GetMapping("/2")
    @Operation(summary = "本年度收费总金额")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method2() {
        return null ;
    }

    @GetMapping("/3")
    @Operation(summary = "省界门架流量变化趋势图（出陕）")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method3() {
        return null;
    }

    @GetMapping("/4")
    @Operation(summary = "省界门架流量变化趋势图（进陕）")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method4() {
        return null ;
    }

    @GetMapping("/5")
    @Operation(summary = "当日数据状态")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method5() {
        return null;
    }

    @GetMapping("/6")
    @Operation(summary = "收入统计")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method6() {
        return null ;
    }

    @GetMapping("/carFlow")
    @Operation(summary = "客货流量变化趋势")
    public GrowUpBaseResult carFlow() {
        return GrowUpBaseResultUtils.success(collectFeeService.carFlow());
    }

    @GetMapping("/8")
    @Operation(summary = "客货收入变化趋势")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method8() {
        return null ;
    }

    @GetMapping("/9")
    @Operation(summary = "月收入渠道构成变化")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method9() {
        return null;
    }

    @GetMapping("/10")
    @Operation(summary = "营收金额")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method10() {
        return null ;
    }

    @GetMapping("/11")
    @Operation(summary = "分公司收入分析")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method11() {
        return null;
    }

    @GetMapping("/12")
    @Operation(summary = "分公司流量分析")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method12() {
        return null ;
    }

    @GetMapping("/13")
    @Operation(summary = "钻取：服务区详情")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method13() {
        return null ;
    }

    @GetMapping("/14")
    @Operation(summary = "钻取：收费站详情")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method14() {
        return null ;
    }

    @GetMapping("/15")
    @Operation(summary = "钻取：门架详情")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method15() {
        return null ;
    }

    @GetMapping("/16")
    @Operation(summary = "钻取：分类汇总详情")
    public GrowUpBaseResult<Map<String, List<Map<String, Object>>>> method16() {
        return null ;
    }

}
